package com.hy.main.demo.io;

import org.junit.Test;

import java.io.*;

/**
 * @Author yang DongYong
 * @Date 2022/4/27 - 04 - 27 - 2:31
 * @Description: com.hy.main.demo.file
 * @version: 1.0
 */
public class InputStreamReaders {

    @Test
    public void inputStreamRead() throws IOException {
        String path = "d:\\TOZQSBNAV20220418(1).TXT";
        InputStreamReader inputStreamReader = null;
        BufferedReader bufferedReader = null;
        try {

            /**
             * 在电脑用户创建txt文件时，默认的都是“ANSI”编码格式
             * 创建输入字节流转字符流对象 并设置gbk编码 txt文本在创建时基本都是gbk编码
             * 字符输入流读取默认是UTF-8编码 InputStreamReader转字符流其实就是为了给字符流增加编码方式所存在的流
             * InputStreamReader继承了Reader在使用BufferedReader构造器时直接放入即可
             * close方法每次调用关闭最外层的即可
             */
             bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(path),"GBK"));
             String data;
             while ((data = bufferedReader.readLine()) != null) {
                 System.out.println(data);
             }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            bufferedReader.close();
        }
    }
}
